窗口函数

最近更新时间: 2024-06-12 15:06:00

窗口函数提供在与当前查询行相关的行集合上执行计算的能力,通用的窗口函数如下:

函数 返回类型 描述
row_number() bigint 当前行在其分区中的行号,从1计
rank() bigint 带间隙的当前行排名;与该行的第一个同等行的 row_number 相同
dense_rank() bigint 不带间隙的当前行排名; 这个函数计数同等组
percent_rank() double precision 当前行的相对排名: (rank- 1) / (总分区行数 - 1)
cume_dist() double precision 累积分配: (当前行前面的分区行数 或 与当前行同等的行的分区行数) / (总分区行数)
first_value(value any) same type as value 返回在窗口帧中第一行上计算的 value
last_value(value any) same type as value 返回在窗口帧中最后一行上计算的 value
nth_value(value any, nthinteger) same type as value 返回在窗口帧中第 nth 行(行从1计数)上计算的 value;没有这样的行则返回空值